package com.xiu.travel.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.baomidou.mybatisplus.annotation.IEnum;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;

/**
 * 订单状态枚举类
 *
 * @author : qianlanyuyum
 * @since : 2023/3/23 16:44
 */
@AllArgsConstructor
public enum OrderStatusEnum implements IEnum<Integer>
{
    /**
     * 已删除
     */

    DELETED(0,"已删除"),
    /**
     * 待支付
     */
    UN_PAID(1,"待支付"),
    /**
     * 待收货
     */
    UN_RECEIVED(2,"待使用"),
    /**
     * 待评价
     */
    UN_RATED(3,"待评价"),
    /**
     * 退款
     */
    REFUND(4,"退款"),
    /**
     * 退款/售后
     */
    REFUND_STATUS(12,"退款/售后"),
    /**
     * 已取消
     */
    CANCELLED(5,"已取消"),
    /**
     * 已完成
     */
    FINISHED(6,"已完成"),
    /**
     * 待审批
     */
    PEND_APPROVAL(7,"待审批"),
    /**
     * 部分退款
     */
    PARTIAL_REFUND(8,"部分退款"),
    /**
     * 审批未通过
     */
    NOT_APPROVED(9,"审批未通过"),
    /**
     * 已完成(异常)
     */
    FINISHED_ANOMALY(10,"已完成(异常)"),
    /**
     * 退款处理中
     */
    REFUND_IN_PROCESS(11,"退款处理中"),
    /**
     * 全部订单
     */
    ALL(666,"全部订单");
    /**
     * agree
     */
    @EnumValue
    @JsonValue
    private final Integer code;
    /**
     * agree
     */
    private final String status;

    @Override
    public Integer getValue()
    {
        return code;
    }
    public String getStatus()
    {
        return status;
    }
}

